%module OgreResource

%{
#include "OGRE/OgreResource.h"
	%}

%import "OgrePrerequisites.i"
%import "OgreSharedPtr.i"
%import "OgreString.i"

namespace Ogre {

    typedef unsigned long long int ResourceHandle;

    %nodefaultctor Resource;
    class Resource// : public StringInterface, public ResourceAlloc
    {
	public:
	    virtual const String& getName(void);
	    virtual ResourceHandle getHandle(void);
	    virtual bool isLoaded(void);
	    virtual const String& getGroup(void);
    };

    typedef SharedPtr<Resource> ResourcePtr;

    class ManualResourceLoader
    {
    public:
	    virtual void loadResource(Resource* resource) = 0;
    };
}
